home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / smb_mssql7.nasl < prev    next >
Text File  |  2005-03-31  |  3KB  |  91 lines

  1. # Script audit and contributions from Carmichael Security <http://www.carmichaelsecurity.com>
  2. #      Erik Anderson <eanders@carmichaelsecurity.com>
  3. #      Added BugtraqID and CAN
  4. #      Should also cover BID:4135/CAN-2002-0056
  5.  
  6.  
  7. if(description)
  8. {
  9.  script_id(10642);
  10.  script_bugtraq_id(5205);
  11.  script_version ("$Revision: 1.19 $");
  12.  script_cve_id("CVE-2002-0642");
  13.  if(defined_func("script_xref"))script_xref(name:"IAVA", value:"2002-B-0004");
  14.  name["english"] = "SMB Registry : SQL7 Patches";
  15.  
  16.  
  17.  script_name(english:name["english"]);
  18.  
  19.  desc["english"] = "
  20. The remote SQL server seems to be vulnerable to the
  21. SQL abuse vulnerability described in technet article
  22. Q256052. This problem allows an attacker who has to ability
  23. to execute SQL queries on this host to gain elevated privileges.
  24.  
  25. Solution : http://support.microsoft.com/default.aspx?scid=kb;en-us;256052
  26. Reference : http://online.securityfocus.com/archive/1/285915
  27. Reference : http://online.securityfocus.com/advisories/4308
  28. Risk factor : High";
  29.  
  30.  
  31.  script_description(english:desc["english"]);
  32.  
  33.  summary["english"] = "Determines if a key exists and is set";
  34.  script_summary(english:summary["english"]);
  35.  
  36.  script_category(ACT_GATHER_INFO);
  37.  
  38.  script_copyright(english:"This script is Copyright (C) 2001 Intranode <plugin@intranode.com>");
  39.  family["english"] = "Windows";
  40.  
  41.  script_family(english:family["english"]);
  42.  
  43.  script_dependencies("netbios_name_get.nasl",
  44.               "smb_login.nasl", "smb_registry_access.nasl");
  45.  script_require_keys("SMB/transport", "SMB/name", "SMB/login", "SMB/password", "SMB/registry_access");
  46.  script_require_ports(139, 445);
  47.  exit(0);
  48. }
  49.  
  50. include("smb_nt.inc");
  51.  
  52. port = get_kb_item("SMB/transport");
  53. if(!port)port = 139;
  54.  
  55.  
  56.  
  57. #---------------------------------------------------------------------#
  58. # Here is our main()                                                  #
  59. #---------------------------------------------------------------------#
  60.  
  61.  
  62.  
  63.  
  64.  
  65. function check_key(key)
  66. {
  67.  item = "AllowInProcess";
  68.  value = registry_get_dword(key:key, item:item);
  69.  if(value != NULL && strlen(value) == 4) 
  70.  {
  71.    item = "DisallowAdHocAccess";
  72.    value = registry_get_dword(key:key, item:item);
  73.    if((strlen(value)) == 0)
  74.    {
  75.      return(1);
  76.    }
  77.    else if(ord(value[0]) == 0)return(1);
  78.  }
  79.  return(0);
  80. }
  81.  
  82.  
  83. a = check_key(key:"SOFTWARE\Microsoft\MSSQLServer\Providers\MSDAORA");
  84. if(a){security_hole(port);exit(0);}
  85. b = check_key(key:"SOFTWARE\Microsoft\MSSQLServer\Providers\MSDASQL");
  86. if(b){security_hole(port);exit(0);}
  87. c = check_key(key:"SOFTWARE\Microsoft\MSSQLServerProviders\SQLOLEDB");
  88. if(c){security_hole(port);exit(0);}
  89. d = check_key(key:"SOFTWARE\Microsoft\MSSQLServerProviders\Microsoft.Jet.OLEDB.4.0");
  90. if(d){security_hole(port);exit(0);}
  91.